הוראות לנבחן גמר לבתי ספר לטכנאים ולהנדסאים סמל השאלון: תכנות מערכות ושפת סף ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות לנבחנות ולנבחנים כאחד.

Size: px
Start display at page:

Download "הוראות לנבחן גמר לבתי ספר לטכנאים ולהנדסאים סמל השאלון: תכנות מערכות ושפת סף ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות לנבחנות ולנבחנים כאחד."

Transcription

1 גמר לבתי ספר לטכנאים ולהנדסאים סוג הבחינה: מדינת ישראל אביב תשס"ז, 2007 מועד הבחינה: משרד החינוך סמל השאלון: תכנות מערכות ושפת סף הוראות לנבחן א. משך הבחינה: ארבע שעות. ב. מבנה השאלון ומפתח ההערכה: בשאלון שני נושאים: תכנות מערכות ושפת סף. ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. סה"כ 100 נקודות. ג. חומר עזר מותר לשימוש: כל חומר עזר. ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות לנבחנות ולנבחנים כאחד. בהצלחה! בשאלון זה 29 עמודים.

2 - 2 - השאלות נושא א' תכנות מערכות (50 נקודות) פרק ראשון (20 נקודות) בפרק הזה שאלה אחת שאלת חובה. שאלה 1 אנו מעוניינים לכתוב תכנית אשר מטפלת בספר נתון ומטרתה לספור את שכיחות הופעתן של מילים בספר ולהכין אינדקס. על התכנית לבצע את הצעדים שלהלן: צעד 1: התכנית קולטת שורות של נתונים מן המשתמש. כל שורה מכילה את המילה ואת מספר העמוד שבו היא מופיעה בספר. התכנית מאחסנת את הנתונים האלה כמבנים (רשומות) בקובץ בינארי שהיא יוצרת. קליטת הנתונים תסתיים ברגע שנקבל שורת זקיף המכילה, 1 0 כאשר 1 מסמן מילה ו 0 מסמן מספר עמוד. צעד 2: התכנית קוראת נתונים מקובץ בינארי, שנוצר בצעד, 1 ובונה מערך דינמי כמתואר במבנה שלהלן: איור לשאלה 1 המשך בעמוד 3

3 - 3 - במערך הדינמי כל תא יהיה מבנה (רשומה) המכיל שלושה שדות: שדה 1: מילה. שדה 2: השכיחות (מספר המופעים) של המילה שבשדה. 1 שדה 3: המצביע לראש רשימה מקושרת לא ריקה של צמתים, כך שכל צומת מכיל את: הערות: מספר העמוד שבו מופיעה המילה שבשדה 1, המצביע (מחוון) לעמוד הבא שבו מופיעה המילה שבשדה 1 (אם קיים מופע נוסף של המילה הזאת), אחרת מצביע ל NULL. 1. קריאת הרשומות (מבנים) מן הקובץ הבינארי נעשית באופן סדרתי, החל מהמבנה הראשון ועד המבנה האחרון (כולל אותו). 2. כל רשומה שנקראת מן הקובץ מכילה מילה מסוימת (W) ומספר עמוד (X) שבו מופיעה המילה W. אם המילה W לא נמצאת במערך הדינמי של המילים, אז: נגדיל את המערך הדינמי בהתאם, ונוסיף את המילה W לתא האחרון במערך הזה. אחרת נעדכן את שכיחות המילה. W נוסיף את מספר העמוד X לראש רשימת העמודים של המילה. W 3. בתום קריאת הנתונים מהקובץ הבינארי ואחסונם במבנה המתואר באיור, נמיין את המערך הדינמי שנוצר באמצעות הפונקציה qsort (פונקציה שקיימת בשפת C). 4. נמיין כל אחת מן הרשימות המקושרות (באופן בלתי תלוי זו בזו) כאשר רשימה מסוימת היא רשימת מספרי העמודים שבהם מופיעה מילה מסוימת. המיון הזה יתבצע באמצעות הפונקציה SortList אשר תוגדר בהמשך. המשך בעמוד 4

4 - 4 - צעד 3: הפקת אינדקס של הספר הנתון על המסך. דוגמה: נניח שבתום צעד 1 התקבל הקובץ שלהלן: Boy 3 Girl 27 Boy 13 Zoo 3 Girl 15 Girl 213 Table 342 לכן, בתום צעד 2 יתקבל המערך הדינמי שלהלן: ובתום צעד 3 יופק הפלט שלהלן: Boy 3 13 Girl Table 342 Zoo 3 המשך בעמוד 5

5 - 5 - לפניך הגדרות בשפת C #define SIZE 81 typedef struct pagetype /* טיפוס נתון של צומת ברשימה מקושרת */ int pageno; struct pagetype *next; page, *pageptr; typedef struct buffertype /* טיפוס נתון של איבר בקובץ בינארי */ int pageno; char wrd[size]; buffer, *bufferptr; typedef struct wordtype /* טיפוס נתון של תא במערך דינמי*/ char text[size]; int len; struct pagetype *next; word, *wordptr; /* המצביע לראש המערך הדינמי */ words; wordptr buffer buffin; bufferptr buff = &buffin ; /* מספר המילים במערך הדינמי בכל רגע נתון */ ; n int המשך בעמוד 6

6 - 6 - להלן ההגדרה של הפונקציה : SortList void SortList (pageptr *L) פונקציה זו מקבלת כתובת של מצביע לראש רשימה מקושרת ומחזירה אותה כרשימה מקושרת ממוינת בסדר עולה. שים לב: הנך רשאי להשתמש בפונקציה זו. הנח שהיא נתונה. א. לפניך השגרה, inputwords אשר קולטת שורות נתונים לתוך קובץ בינארי, כמפורט בפתיח לשאלה בצעד 1. בשגרה חסרים ארבעה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (4) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. void inputwords() FILE *fp; char wordin[81]; int pagein; /* open binary file */ if ((fp = fopen("dictionary.dat","wb"))== NULL) puts("\n Error opening file.\n"); exit(1); /* read words and page number */ puts("\n Enter word and page number 1 0 to finish "); scanf("%s %d",wordin,&pagein); while (pagein!= 0) המשך בעמוד 7

7 - 7 - (1) ; buff pageno = (2) ; if (fwrite(buff,sizeof( (3) ),1,fp)!= 1) puts("\nerror writing to the file\n"); exit(1); (4) ; fclose(fp); ב. לפניך השגרה qinsertword המקבלת את המילה wrd ואת מספר העמוד, pgno ומוסיפה אותה למערך הדינמי, כמפורט בפתיח לשאלה בצעד, 2 הערה מספר 2. בשגרה חסרים שבעה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (7) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. void qinsertword(char *wrd, int pgno) int i=0; pageptr pptr ; pptr = (pageptr)malloc(sizeof(page)); pptr pageno = pgno; pptr next = NULL; if (n == 0) המשך בעמוד 8

8 - 8 - words = (wordptr)realloc(words,sizeof(word)); words[0].len = 1; (1) ; words[0].next = (2) ; n = 1; else while ((strcmp(wrd,words[i].text)!= 0) && (i < n)) i= i+1; if (i == n) words = (3) ; (4) ; words[i].next = NULL; words[i].len = 0; n = n+1 ; /* Link page to pagelist of the word */ pptr next= (5) ; words[i].next = (6) ; words[i].len + = (7) ; המשך בעמוד 9

9 - 9 - ג. לפניך השגרה, builddictionary הקוראת נתונים מן הקובץ, בונה את המערך הדינמי וממיינת אותו, כמפורט בפתיח לשאלה בצעד 2. בשגרה חסרים שישה ביטויים, המסומנים במספרים בין סוגריים עיגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (6) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. שים לב: הנך רשאי להשתמש בפונקציות שבסעיפים הקודמים. void builddictionary(void) int i ; FILE *fp; if((fp=fopen("dictionary.dat","rb"))==null) printf("error opening Dictionary.dat File"); exit(1); fread(buff,sizeof(buffer),1,fp); while (!feof(fp)) fclose(fp); (1) ; (2) ; qsort(words,n, (3), (4) ); for ( i=0; i<n ; i++) (5) ; printf("\ndictionary built"); המשך בעמוד 10

10 כאשר: int comp(const void *s1, const void *s2) return ( (6) ); ד. לפניך השגרה, printdictionary המקבלת את המערך הדינמי, מפיקה ממנו דוח, כמפורט בפתיח לשאלה בצעד, 3 מדפיסה את המילה השכיחה. אם בספר הנתון קיימות יותר ממילה אחת שכיחה, אז השגרה תדפיס את כולן. בשגרה חסרים חמישה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (5) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. void printdictionary(wordptr wrds) int i; pageptr pptr; int max = 0 ; for (i=0;i<n;i++) if (wrds[i].len > max) max = (1) ; printf("\n %s",wrds[i].text); pptr=wrds[i].next; while( (2) ) printf(" %d ",pptr pageno); (3) ; המשך בעמוד 11

11 puts("\n"); printf ("\nthe most common words are:\n ") ; for (i=0;i<n;i++) if ( (4) ) printf (" %s ", (5) ); המשך בעמוד 12

12 פרק שני (30 נקודות) ענה על שתיים מבין השאלות 2 4 (לכל שאלה 15 נקודות) שאלה 2 א. נתונה קבוצה של n תווים: a 1 = a, a 2 = b, a 3 = c, a 4 = d,. a n = m לפניך קטע קוד שמדפיס את כל המילים (המחרוזות) באורך, n כך שכל תו במחרוזות שייך לקבוצת התווים הנתונה. דוגמה: עבור = 3 n קבוצת התווים היא: a 1 = a, a 2 = b, a 3 = c והפלט הוא כל המילים (המחרוזות), באורך, 3 כמפורט מטה: aaa aab aac aba abb abc aca acb acc baa bab bac bba ::: ccc המשך בעמוד 13

13 בקוד חסרים שלושה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (3) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. #define n 3 void main(void) char s[4]='a','a','a',0; int i,j,t; t= n*n*n; while (t--) for ( i=0; i<n-1; i++) printf("%1c", s[i]); printf("%1c\n",s[i]); if (++s[n-1]> 'c') (1) ; for( j= (2) ; j>=0; j--) if( (3) ) s[j]='a'; else break; המשך בעמוד 14

14 ב. לפניך ההגדרה הזאת: char *p[2][3]= question, number, ʼ4ʼ, good, luck,!!! ; מה יהיה הפלט שיודפס בעקבות כל אחת מן ההוראות שלהלן: 1. printf( %s\n, *p[0]+5); 2. printf( %c\n, *(p[1][2]+2)); 3. printf( %c\n, **p[1]); void main() int number, line, col; int count_col=0; printf("enter number \n"); scanf("%d",&number"); if (number >0) && (number <9)) count_col = 0; for (line=1; line<=number; line++) for (col=line; col<=number; col++) count_col++; printf("%d",count_col); for (col=number; col >line; col--) שאלה 3 א. לפניך פונקציה ראשית של תכנית כלשהי: המשך בעמוד 15

15 count_col--; printf("%d",count_col); printf("\n"); else printf("the number is Eroor \n"); מה תדפיס הפונקציה main בעבור הקלט 3? רשום במחברת הבחינה רק את הפלט 1. א. שיתקבל. 2. מה תדפיס הפונקציה main בעבור הקלט 4? רשום במחברת הבחינה רק את הפלט שיתקבל. ב. נתונה מטריצה בגודל, n n הכוללת מספרים שלמים חיוביים וגם אפסים. לפניך מימוש השגרה הרקורסיבית, visit אשר מוצאת מסלול בתוך המטריצה שיאפשר מעבר מהשורה הראשונה עד השורה האחרונה. המסלול כולל מעבר על התאים שתוכנם אפס בלבד. ההתקדמות במסלול אפשרית לכל הכיוונים: למטה, למעלה, ימינה או שמאלה. השגרה תחזיר את רשימת התאים (j i), של המסלול, כאשר i מסמן שורה ו j מסמן עמודה. הנח כי לפי נתוני הבעיה קיים פתרון אחד ויחיד החל מן התא (0,0). לפיכך, רק מסלול התקדמות אחד יהיה אפשרי, המסלול המתחיל מהתא (0,0). המשך בעמוד 16

16 דוגמה של מסלול למטריצה 6 6 : (1,4) (1,3) (2,3) (2,2) (2,1) (1,1) (0,1) (0,0).(5,4) (4,4) (3,4) (3,5) (2,5) (1,5) המסלול הוא: בקוד השגרה חסרים שישה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (6) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. #define COLS 6 #define ROWS 6 #define TRUE 1 לפניך הגדרות בשפת : C #define FALSE 0 /* טיפוס נתון של צומת ברשימת המסלול */ node typedef struct int row; int col; struct node *next; *nodeptr; nodeptr list ; המשך בעמוד 17

17 נגדיר את הפעולות האלה: פעולה המקבלת מקום (i,j) (שורה i ועמודה, ו j i במטריצה) ומוסיפה צומת, המכיל את j לסוף רשימת המסלול. פעולה המסירה את הצומת האחרון מרשימת המסלול. פעולה המקבלת שורה, r עמודה c ומציין חוקיות למסלול מחזירה "אמת" אם הצעד חוקי אחרת מחזירה "שקר". void insertlist (int i,int j); void removefromlist (void); int legalpos (int r,int c, int done) שים לב! הנך רשאי להשתמש בפעולות אלה ואין צורך לכתוב אותם. הנח שהן נתונות. int legalpos(int r,int c, int done) if ((r < 0) (c < 0) (r > ROWS) (c > COLS) done ) return FALSE; return TRUE; void visit(int cell[][cols],int r,int c) static int done = FALSE; /* סימון התא שבו ביקרנו בעת הסריקה */ ; 2 = cell[r][c] insertlist(r,c); if (done) printf("\npath Found\n"); המשך בעמוד 18

18 else if (r==rows-1) (1) ; if (legalpos(r+1,c,done)&& (cell[r+1][c] == 0)) (2) ; if (legalpos(r,c+1,done)&&(cell[r][c+1] == 0)) (3) ; if (legalpos(r-1,c,done)&& (cell[r-1][c] == 0)) (4) ; if (legalpos(r,c-1,done)&& (cell[r][c-1] == 0)) (5) ; if (!done) (6) ; שאלה 4 לפניך התכנית הזאת: 1. #include <stdio.h> int calc(unsigned short int, unsigned short int); void main() int i; 8. int c[16]; 9. unsigned short int a,b; 10. scanf("%d %d", &a, &b); 11. for (i=0; i<16; i++, a>>=1, b>>=1) 12. c[i]=calc(a,b); המשך בעמוד 19

19 for (i=15; i>=0; i--) 14. printf("%d", c[i]); int calc(unsigned short int a, unsigned short int b) static unsigned short int c=0; 20. int res; 21. res=((a & 0x1) ^ (b & 0x1) ^ (c & 0x1)); 22. c=((a&0x1)&(b&0x1)) ((a&0x1)&(c&0x1)) ((b&0x1)&(c&0x1)); 23. return res; 24. ענה על הסעיפים א' ד' על סמך התכנית הנתונה. א. הנח כי בפונקציה main בשורה 10 קולטים את המספר 7 לתוך המשתנה a ואת המספר 5 לתוך המשתנה. h רשום במחברת הבחינה את הערך שמחזירה הפונקציה calc כאשר היא נקראת מן הפונקציה, main ובעת הקריאה נתון כי: = 1 i. ב. מה הפלט שיופק על ידי הפונקציה main בעבור = 5 b? a = 7 ; רשום במחברת הבחינה פלט מדויק. ג. הסבר במשפט אחד בלבד מה מבצעת התכנית באופן כללי (מבלי להתייחס לכל פקודה בנפרד!). ד. נחליף את ההוראה שבשורה 19 בהוראה הזאת: = 0 c unsigned short int (ללא המילה (static ואין שינויים נוספים. רשום במחברת הבחינה את הפלט המדויק של הפונקציה main בעבור = 5 b. a = 7 ; המשך בעמוד 20

20 ה. לפניך קטע של קוד: #include <assert.h> #define DEBUG typedef enum (january, febuary, march, april, may, june, july, august, september, october, november, december) months; months fnmbm(months m) #if define DEBUG assert ((int) m>=0 && (int) m <12); #endif return (months) (((int) m+1 ) % 12); קבע בעבור קטע הקוד הנתון איזה מן ההיגדים שלהלן נכון : 1. קטע הקוד מחזיר תמיד את החודש העוקב לחודש שנמצא ב m. 2. קטע הקוד רק בודק אם החודש שב m הוא חודש תקין. 3. אם החודש שב m תקין, אז קטע הקוד יחזיר תמיד את החודש העוקב לו, אחרת הוא יחזיר את החודש שב m. 4. התכנית נתקעת תמיד. 5. אף אחד מבין ההיגדים 1 עד 4 אינו נכון בהכרח. רשום במחברת הבחינה את שם הסעיף, ולידו את ההיגד הנכון עם מספרו. המשך בעמוד 21

21 נושא ב' שפת סף (50 נקודות) פרק שלישי (20 נקודות) בפרק זה שאלה אחת שאלת חובה. SSEG SEGMENT STACK ʻSTACKʼ DB 100 DUP() SSEG ENDS CODE SEGMENT ASSUME CS:CODE T DB LEN-1,-10,2,35,-5,70 LEN=$-T P DW SOF,T ORG 10 FIRST: POP SI ;MOV SI,P ;(1) MOV BP,SP SUB SP,LEN-1 XOR DI,DI MOV CX,DI MOV BX,[BP] MOV CL,[BX] INC BX שאלה 5 לפניך תכנית אשר כוללת שתי שגרות FIRST ו SECOND : המשך בעמוד 22

22 FI_AG: MOV AL,[BX] TEST AL,80H ;(2) JZ GO NEG AL GO: MOV [BP-(LEN-1)+DI],AL INC DI INC BX LOOP FI_AG JMP SI SECOND: PUSH BP MOV BP,SP MOV CX,LEN-1 XOR DI,DI AND AL,0 SHOOV: ADD AL,[BP+4+DI] INC DI LOOP SHOOV POP BP RET LEN-1 ;(3) START: PUSH CS POP DS PUSH P+2 CALL FIRST CALL SECOND המשך בעמוד 23

23 SOF: MOV AH,4CH CODE ENDS END START INT 21H א. איזה ערך יתקבל באוגר AL כאשר תגיע התכנית לתווית?SOF כתוב את הערך שיתקבל לפי בסיס עשרוני. ב. אם נחליף במערך T את הערך 5 בערך החדש, 251 האם ערכו של האוגר AL יהיה שונה מן הערך שהתקבל בסעיף א'? ג. מה מבצעת השגרה?FIRST ענה במשפט אחד בלבד ללא פירוט של ההוראות שבתכנית. ד. מה מבצעת השגרה?SECOND ענה במשפט אחד בלבד ללא פירוט של ההוראות שבתכנית. ה. אם שורת ההערה MOV SI, P המסומנת ב ( 1 ) תיכלל בתכנית, האם ישתנו ביצועי התכנית? ענה ב"כן" או "לא". ו. אם נחליף את הפקודה TEST המסומנת ב ( 2 ), בפקודה, AND ללא שינויים נוספים, האם ערכו של האוגר AL יהיה שונה מן הערך שהתקבל בסעיף א'? ענה ב"כן" או "לא". ז. אם נחליף את הפקודה LEN-1 RET המסומנת ב ( 3 ), בפקודה, RET ללא שינויים נוספים, האם תוכנו של האוגר AL ישתנה כאשר תגיע התכנית לתווית?SOF ענה ב"כן" או "לא". המשך בעמוד 24

24 פרק רביעי (30 נקודות) ענה על שתיים מבין השאלות 6 8 (לכל שאלה 15 נקודות). שאלה 6 לפניך תכנית בשפת אסמבלי אשר מציגה כפלט על הצג את המספרים השלמים באמצעות שגרה רקורסיבית בשם. REC בתכנית הנתונה חסרים חמישה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (5) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. K=5 SSEG SEGMENT STACK 'STACK' DB 100 DUP(?) SSEG ENDS CODE SEGMENT ASSUME CS:CODE P DB 1,K START: PUSH WORD PTR (1) CALL REC MOV AH,4CH INT 21H REC: PUSH BP MOV BP,SP CMP BYTE PTR (2),1 המשך בעמוד 25

25 JNE GO POP BP RET 2 GO: MOV AL,[BP+4] CMP AL,[BP+5] (3) MOV AH,2 MOV DL,[BP+4] (4) INT 21H MOV BX,[BP+4] (5) PUSH BX CALL REC RE_RET: MOV AH,2 MOV DL,[BP+4] ADD DL,'0' INT 21H POP BP RET 2 CODE ENDS END START המשך בעמוד 26

26 שאלה 7 לפניך תכנית: DATA SEGMENT ARR1 DB '012345',5 DUP(' ') LEN1 DW 6 ARR2 DB '6789' LEN2 DW 4 DATA ENDS SSEG SEGMENT STACK 'STACK' DW 100H DUP(?) SSEG ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE MYPROG PROC NEAR MOV BP,SP MOV DI,[BP+10] ADD DI,[BP+8] MOV SI,[BP+4] MOV CX,[BP+2] CLD REP MOVSB REP MOVSB ;(1) MOV BYTE PTR[DI],'$' RET 12 ;(2) MYPROG ENDP המשך בעמוד 27

27 BEGIN: MOV AX,DATA MOV DS,AX MOV ES,AX ;(3) PUSH AX MOV DX,OFFSET ARR1 PUSH DX PUSH LEN1 PUSH AX MOV DX,OFFSET ARR2 PUSH DX PUSH LEN2 CALL MYPROG MOV DX,OFFSET ARR1 MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN א. מהו הפלט לאחר ביצוע התכנית? ב. אם נמחק את השורה המסומנת ב ( 3 ), האם יהיה שינוי בביצועי התכנית? ענה ב"כן" או "לא". ג. אם נחליף את הפקודה RET 12 המסומנת ב ( 2 ) בפקודה, RET האם תשתנה תשובתך לסעיף א' (כלומר יתקבל פלט שונה)? ענה ב"כן" או "לא". ד. אם נחליף את הפקודה REP MOVSB המסומנת ב ( 1 ) בפקודה, REPE MOVSB האם יהיה שינוי בביצועי התכנית? ענה ב"כן" או "לא". המשך בעמוד 28

28 שאלה 8 לפניך תכנית אשר כופלת "שני מספרים" הכתובים בתצורת BCD מרווח. DATA SEGMENT NUM1 DB 3,9 ;(*) NUM2 DB 9 RESULT DB 3 DUP() DATA ENDS SSEG SEGMENT STACK 'STACK' DB 100 DUP(?) SSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX XOR BX,BX MOV AL,NUM1+1 MUL NUM2 (1) ADD AL,BH (2) MOV RESULT+2,AL MOV BH,AH MOV AL,NUM1 MUL NUM2 (1) המשך בעמוד 29

29 ADD AL,BH ; (**) (2) MOV RESULT+1,AL MOV RESULT, (3) MOV AH,4CH INT 21H CODE ENDS END START א. בתכנית הנתונה חסרים שלושה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (3) בלבד, בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. ב. אם נחליף את השורה NUM1 DB,3 9 המסומנת ב (*) בשורה '39' DB, NUM1 האם ישתנו ביצועי התכנית? ענה ב"כן" או "לא". ג. ללא קשר לסעיף ב', אם נחליף את השורה המסומנת ב (**) בפקודה, ADD AL, 0BH האם ישתנו ביצועי התכנית? ענה ב"כן" או "לא". בהצלחה! זכות היוצרים שמורה למדינת ישראל. אין להעתיק או לפרסם אלא ברשות משרד החינוך.

הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים

הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים גמר לבתי ספר לטכנאים ולהנדסאים סוג הבחינה: מדינת ישראל אביב תשע"ב, 2012 מועד הבחינה: משרד החינוך 714001 סמל השאלון: תכנות מערכות בשפת C ושפת סף הוראות לנבחן א. משך הבחינה: ארבע שעות. ב. מבנה השאלון ומפתח

More information

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch 1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות שאלה פרק א :1 m a b k k b x I x > a II x < b פלט I && II 0 8 12 8 4 1 9 11 2 10 11 9 8 2 12 35 13 העמודות המסומנות בכחול אינן עמודות חובה בפתרון. שאלה 2:

More information

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א'

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כה תשרי תשעח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א' אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : א' מועד קיץ סמ' שנה תשע"ז 3 שעות משך

More information

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp) הנחיות כלליות: תאריך הבוחן: 10.5.2018 שם המרצה: מני אדלר,מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות מס' קורס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' משך הבוחן: 2

More information

Engineering Programming A

Engineering Programming A Engineering Programming A תרגול 5 25.11.2012 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1]

More information

מבוא למדעי המחשב תרגול 13: עצים בינאריים

מבוא למדעי המחשב תרגול 13: עצים בינאריים מבוא למדעי המחשב תרגול 13: עצים בינאריים עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק (בלי צמתים) או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם תרגיל 1 עץ בינארי מסודר

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 23427 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 203 Based on slides of Dr. Eran Eden, Weizmann 2008 ביטויים לוגיים דוגמא: תקינות

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 >>g = [89 91 80 98]; >>p

More information

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבנה זכרון ושפת ++C קוד הקורס: 7027810 תאריך בחינה: שאלות לדוגמא משך הבחינה: שעתיים שם המרצים: ד"ר אופיר פלא, ד"ר מירי בן ניסן חומר עזר: פתוח שימוש במחשבון:

More information

Exams questions examples

Exams questions examples Exams questions examples 1 Exam example 1. y - x what נק' ( לפניך הפעולה הרקורסיבית מקבלת כפרמטרים שני מספרים שלמים ו 10 )? מה יהיה הפלט כתוצאה מזימון הפעולה what public static int what(int x, int y) if(x

More information

פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות

פתרון מוצע לבחינת מהט ב_שפת c מועד אביב תשעח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות שאלה מספר 1 התוכנית מגדירה חמישה משתנים שלמים: השלושה הראשונים הם שלושה מצביעים - *s *t,i. j ושלושה נוספים

More information

שאלה 1 מהו הפלט של התוכנית הבאה:

שאלה 1 מהו הפלט של התוכנית הבאה: תרגול חזרה שאלה 1 מהו הפלט של התוכנית הבאה: public sttic int wht(int n) { int i; int sum=0; if(n == 0) return 1; for (i=0; i

More information

רזח יליגרתו םי יראני ב ם

רזח יליגרתו םי יראני ב ם מבוא למדעי המחשב עצים בינאריים ותרגילי חזרה תרגול 13: עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק )בלי צמתים( או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם שאלה עץ בינארי

More information

Algorithms. Intro2CS week 5

Algorithms. Intro2CS week 5 Algorithms Intro2CS week 5 1 Computational problems A computational problem specifies an inputoutput relationship What does the input look like? What should the output be for each input? Example: Input:

More information

שאלות חזרה 2 האוניברסיטה החליטה לפרסם שמות הסטודנטים המצטיינים בקורס שלנו. סטודנט מצטיין הוא סטודנט שקיבל

שאלות חזרה 2 האוניברסיטה החליטה לפרסם שמות הסטודנטים המצטיינים בקורס שלנו. סטודנט מצטיין הוא סטודנט שקיבל שאלות חזרה שאלה - 3 קבצים נתונים שני קבצים: ) קובץ נתוני הסטודנטים של הקורס שלנו, כל שורה בקובץ מכילה את הפרטים הבאים: תווים - שם הסטודנט - תווים - כתובת - 9 ספרות - מספר ת.ז. - 3 ספרות - קוד מחלקה - 3

More information

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> } נושאי התרגול: מה הן פונקציות הגדרת פונקציה,קריאה לפונקציה העברת ארגומנטים,החזרת ערך או void העברת משתנים פרימיטיביים ומערכים לפונקציה העמסה של פונקציות תרגול 4 פונקציות מוטיבציה לעיתים,אנו נזקקים לבצע

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 motivation Proper academic

More information

Practical Session - Heap

Practical Session - Heap Practical Session - Heap Heap Heap Maximum-Heap Minimum-Heap Heap-Array A binary heap can be considered as a complete binary tree, (the last level is full from the left to a certain point). For each node

More information

תרגילים ופתרונות בשפת - C הסתעפויות

תרגילים ופתרונות בשפת - C הסתעפויות תרגילים ופתרונות בשפת - C הסתעפויות כתב וערך: שייקה בילו תרגיל - 1 כתוב תוכנית שתקבל מהמשתמש שלושה מספרים, ותציג את הגדול מביניהם על המסך. #include void main() int mis1, mis2, mis3, max; printf("please

More information

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן. מספר : 804042 שם המרצה: תאריך הבחינה: ד"ר גדעון גרדוול, ד"ר אריאלה ריכרדסון 13/02/2013 משך הבחינה )בדקות(: 150 חומר עזר מותר לשימוש: ללא חומר עזר מחשבון: ללא מחשבון מס' תלמיד: מכון: לב/נוה, טל, טל-דעת,

More information

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: שאלות חזרה למבחן. חשוב: אין להסיק ששאלות אחרות לא יכולות להישאל במבחן, אין להסיק כי נושאים מסויימים בסיליבוס

More information

מבוא לתכנות מערכות מבחן מועד א' סמסטר חורף

מבוא לתכנות מערכות מבחן מועד א' סמסטר חורף הפקולטה למדעי המחשב פרופ' גיל ברקת נועם שגב, שרי דואק, רן ברואר, דור כהן הטכניון מכון טכנולוגי לישראל 70.70.07.4 מבוא לתכנות מערכות 024.00 מבחן מועד א' סמסטר חורף 07.207.4 הוראות כלליות משך המבחן: 081

More information

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf(bla\n); 8. return 0; 9. } שאלה : (4 נקודות) א. ב. ג. (5 נקודות) הגדירו את המונח race-condition במדוייק לא להשמיט פרטים. ספקו דוגמא. (5 נקודות) מהו? Monitor נא לספק הגדרה מלאה. ( נקודות) ( נקודות) ציינו כמה תהליכים יווצרו בקוד הבא

More information

הפלט אחרי הביצוע של ההוראה :what3(root)

הפלט אחרי הביצוע של ההוראה :what3(root) שאלה )18 1 נקודות( סעיף א. )11 נקודות( הפלט אחרי הביצוע של ההוראה :what3(root) 15 10 20 26 12 18 25 3 28 14 13 סעיף ב. )3 נקודות( הפונקציה what1 מוסיפה את האיבר node בסוף הרשימה ומעדכנת את ראש הרשימה *ph

More information

מבוא לתכנות ב- JAVA מעבדה 2

מבוא לתכנות ב- JAVA מעבדה 2 מבוא לתכנות ב- JAVA מעבדה 2 מה בתרגול טיפוסים פרימיטיביים המרות טיפוסים אופרטורים יחסיים ולוגיים משפט if-else בתרגול הקודם טיפוסים פרימיטביים לייצוג מספרים שלמים וממשיים ואופרטורים לפעולות בין מספרים.1

More information

קורס תכנות שיעור שישי: מחרוזות, מצביעים

קורס תכנות שיעור שישי: מחרוזות, מצביעים קורס תכנות שיעור שישי: מחרוזות, מצביעים מערכים אוסף סדור של משתנים מאותו סוג המשתנים נמצאים ברצף בזיכרון העברת מערך לפונקציה Define רקורסיה במערך מערכים דו מימדיים 2 מחרוזות מהי מחרוזת? רצף של תוים ייצוג

More information

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen מבוא לתכנות בשפת C מצביעים והקצאה דינאמית כתובות של משתנים לכל משתנה כתובת של המקום שלו בזיכרון כבר ראינו: שם של מערך הוא למעשה הכתובת של התא הראשון )באינדקס 0( של המערך להזכירכם: תא של מערך הינו משתנה

More information

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num) 1 תבנית צבירה תבניות אלגוריתמיות לפעולות רקורסיביות תבנית צבירה לסדרת ערכים: סכום (סדרת ערכים) החזר את ערך הקצה + סכום (סדרת הערכים ללא ערך הקצה) דוגמא: פעולה המחזירה את סכום הספרות שבמספר שלם לא שלילי

More information

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C בשיעור הקודם למדנו על רקורסיה פתרנו את בעיית מגדלי הנוי בעזרת רקורסיה כלומר בעזרת פונקציה שקוראת לעצמה. רקורסיה מאפשרת לנו לפתור בעיה "גדולה" בעזרת פתרון של בעיות "קטנות" המרכיבות אותה. קורס תכנות שיעור

More information

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1 קורס תכנות שיעור תשיעי: רשימות מקושרות 1 הקצאה דינאמית של מערכים דו-ממדיים )לפחות( שלוש גישות אפשריות:.1 מערך של מערכים מצביעים לתוך מערך "גדול".2 3. מצביע יחיד למערך גדול 2 The Interface 3 (Simple) Usage

More information

Page 1 1 מס' מחברת : מס' ת.ז. : סמסטר א' תשס"ט מועד: א' 16/02/2009 משך הבחינה: שלוש שעות אין להשתמש בחומר עזר בחינה בקורס תכנות ב- C מרצים: אלון לרנר, עופר פסטרנק מתרגלים:

More information

רשימות דילוגים Skip Lists

רשימות דילוגים Skip Lists Lecture6 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds רשימות דילוגים Skip Lists Skip lists: A probabilistic Alternative to Balanced Trees, William Pugh, Communications of the

More information

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 מערכים שעור מס. 4 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 למה מערכים? ברצוננו לאחסן בתוכנית ציוני בחינה כדי לחשב את ממוצע הציונים וסטיית התקן. נניח ש 30 סטודנטים לקחו

More information

3 Dynamic Routing A (RIP and OSPF)

3 Dynamic Routing A (RIP and OSPF) אוניברסיטת בן גוריון בנגב המחלקה להנדסת מערכות תקשורת רשתות תקשורת מחשבים - 2 קורס 37110211 מעבדה בתקשורת מחשבים 3 Dynamic Routing A (RIP and OSPF) בשבוע (29/11/2011) 5 בשבוע (13/12/2011) 7 מעבדה מספר

More information

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב Today Static vs. Dynamic binding Equals / hashcode String Immutability (maybe) 2 Static versus run-time

More information

קורס תכנות שיעור שני: שימוש במשתנים,

קורס תכנות שיעור שני: שימוש במשתנים, קורס תכנות שיעור שני: שימוש במשתנים, בקרת זרימה, לולאות 1 נושאי השיעור היום משתנים )variables( טיפוסי משתנים בשפת C הגדרת משתנים השמה למשתנים פעולות על משתנים קליטת ערכים מהמשתמש הדפסה משתנים בקרת זרימה

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 רקורסיה - הקדמה הגדרה רקורסיבית: חדר הוא מסודר אם צד שמאל שלו מסודר שלו מסודר. וצד ימין שיטת פתרון רקורסיבית: פתרון מופעים פשוטים יותר של בעיה בכדי לפתור את הבעיה המקורית רקורסיה

More information

עמוד 1 (תאריך ( âùéä ער äìàù בכל השאלות ניתן להניח שהקלט תקין. 100 íåëñ חורף :

עמוד 1 (תאריך ( âùéä ער äìàù בכל השאלות ניתן להניח שהקלט תקין. 100 íåëñ חורף : עמוד 1 מבוא למדעי המחשב מ' 234114 מבוא למדעי המחשב ח' 234117 מבחן מועד א', סמסטר חורף תשס"ב (תאריך ( 29.1.03 שם משפחה שם פרטי מס' סטודנט âùéä ער äìàù 15 1 15 2 16 3 18 4 16 5 20 6 100 íåëñ חומר עזר: אין

More information

else if (p.getinfo().getvotes() < c1.getvotes()) { c1 = p.getinfo()

else if (p.getinfo().getvotes() < c1.getvotes()) { c1 = p.getinfo() class BigBrother רשימה מועמדים לתחרות // candidates; private List publc void MakeVote(String name) הפעולה מקבלת שם, מוצאת את המתמודד ומוסיף לו הצבעה אחת // Node p = candidates.getfirst();

More information

פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה

פתרון מוצע לבחינה בשפת C של מהט מועד אביב תשעז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה שאלה מספר 1 נתונה התכנית הבאה בשפת C: #include #define SUM_OF_3(x,y,z) x+y+z #define AVRG_OF_3(x,y,z)

More information

Computer Programming A תרגול 9

Computer Programming A תרגול 9 Computer Programming A תרגול 9 1 מטרת התרגול הקצאת זיכרון מבנים רשימות דינאמית ניהול הזיכרון בתוכנית עד כה כל המשתנים שראינו היו לוקאליים. משך הקיום של משתנים מקומיים הוא הזמן אשר הפונקציה בה הם נמצאים

More information

Amortized Analysis, Union-Find,

Amortized Analysis, Union-Find, Practical Session No. 13 Amortized Analysis, Union-Find, AMORTIZED ANALYSIS Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

Introduction to Programming in C תרגול 8

Introduction to Programming in C תרגול 8 Introduction to Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאה דינמית מבנים תאור הזיכרון של המחשב: מצביעים ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

Practical Session No. 14 Topological sort,amortized Analysis

Practical Session No. 14 Topological sort,amortized Analysis Practical Session No. 14 Topological sort,amortized Analysis Topological- Sort Topological sort Ordering of vertices in a directed acyclic graph (DAG) G=(V,E) such that if there is a path from v to u in

More information

Summer 2003 Lecture 15 07/03/03

Summer 2003 Lecture 15 07/03/03 Summer 2003 Lecture 15 07/03/03 Initialization of Variables In the C (or C++) programming language any variable definition can have an optional initializer for the variable. How and when the initialization

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 9: Sorting, Searching and Time Complexity Analysis Autumn 2011-12 1 Lecture 8: Highlights Design a recursive algorithm by 1. Solving big instances using the

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 9: Sorting, Searching and Time Complexity Analysis Autumn 2011-12 1 Lecture 8: Highlights Design a recursive algorithm by 1. Solving big instances using the

More information

Operating Systems. Practical Session 4 Threads

Operating Systems. Practical Session 4 Threads Operating Systems Practical Session 4 Threads 1 Threads Executed within a process. Allow multiple independent executions under the same process (container). Possible states: running, ready, blocked, terminated.

More information

תרגול 6 רקורסיה ותכנות מונחה עצמים

תרגול 6 רקורסיה ותכנות מונחה עצמים מבוא למדעי המחשב 2017 תרגול 6 רקורסיה ותכנות מונחה עצמים מבוא למדעי המחשב 1 ראינו בהרצאה רקורסיה תכנות מונחה עצמים: מחלקה ואובייקט שדות, בנאים ושיטות מימוש מערך דינאמי של ראשוניים בתרגול היום רקורסיה הדפסת

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

חוברת תרגילים לתרגול יסודות התכנות

חוברת תרגילים לתרגול יסודות התכנות פעולות קלט ופלט חוברת תרגילים לתרגול יסודות התכנות קלוט 3 מספרים. סכם אותם, הצג את שלושתם ואת תוצאת הסיכום. int num1, num2, num3,sum; Console.WriteLine("please enter 3 numbers"); num1 = int.parse(console.readline());

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב שירותים במנשק הם תמיד

More information

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2 מבוא למדעי המחשב תירגול 2: לולאות, קלט, וטיפוסים 1 תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char 2 לולאת while 3 לולאת while קטע קוד מתבצע שוב ושוב כל עוד תנאי מתקיים int number = 40; while(number>0)

More information

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator מבוא למדעי המחשב 2017 תרגול 8 רשימה משורשרת כללית, Comparator בתרגול היום. LinkedList בניית ההכללה מ- LinkIntList תרגול המבנה ושימושיו ממשקים: Comparator Sorted Linked List ל- LinkedList ע"י שימוש ב- Comparator

More information

Programming in C תרגול 8

Programming in C תרגול 8 Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאת זיכרון דינאמית Malloc free מצביעים תאור הזיכרון של המחשב: ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

תוכנה 1 סמסטר א' תשע"א

תוכנה 1 סמסטר א' תשעא General Tips on Programming תוכנה 1 סמסטר א' תשע"א תרגול מס' 6 מנשקים, דיאגרמות וביטים * רובי בוים ומתי שמרת Write your code modularly top-down approach Compile + test functionality on the fly Start with

More information

נוסחאון במיקרו בקר 8051 לכיתה י"ג נוסחאון בשפת ASM 51 מקום למדבקת נבחן אין להעביר את הנוסחאון לנבחן אחר המשך בעמוד 2

נוסחאון במיקרו בקר 8051 לכיתה יג נוסחאון בשפת ASM 51 מקום למדבקת נבחן אין להעביר את הנוסחאון לנבחן אחר המשך בעמוד 2 מדינת ישראל סוג הבחינה: גמר לבתי ספר לטכנאים ולהנדסאים נוסחאון במיקרו בקר 8051 משרד החינוך מועד הבחינה: אביב תשע"א, 2011 נספח לשאלונים: 711921 711911, אין להעביר את הנוסחאון לנבחן אחר מקום למדבקת נבחן

More information

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h>

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h> תכנות בסיסי בשפת C תוכנית ראשונה תוכנית ב - C מורכבת מאוסף פונקציות והגדרות טיפוסים. C איננה שפה object oriented כך שאין בה מושגים של מחלקה ואובייקט. נתחיל בתוכנית הראשונה המסורתית, זו המדפיסה הודעה יחידה

More information

1: /********************************************************** 2: * A

1: /********************************************************** 2: * A 1: /********************************************************** 2: * A simple example to illustrate C and assembly language * 3: * interface. The test function is written in assembly * 4: * language (in

More information

שאלה 1, סעיף ב )11 נק'(

שאלה 1, סעיף ב )11 נק'( שאלה 1, סעיף א )8 נק'( public static boolean lexlt(string s1, String s2) for (int i=0; i

More information

תור שימושים בעולם התוכנה

תור שימושים בעולם התוכנה מבוא למדעי המחשב הרצאה : Queue, Iterator & Iterable תור מבנה נתונים אבסטרקטי תור שימושים בעולם התוכנה השימושים של תורים בעולם התוכנה מזכירים מאוד תורים במציאות: )VoIP( )YouTube( מקלדת שידור סרט באינטרנט

More information

Computer Programming Summer 2017

Computer Programming Summer 2017 Computer Programming Summer 2017 תרגול 6 פונקציות 1 פונקציות פונקציות מאפשרות שימוש בקטעי קוד כקופסה שחורה ללא צורך לדעת את פרטי המימוש )מספיק לדעת מה עושה הפונקציה ולא איך(. למשל: הפונקציה strlen מהתירגול

More information

הנכות 1 םוכיס לוגרת 14 1

הנכות 1 םוכיס לוגרת 14 1 תוכנה 1 סיכום תרגול 14 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 משתנים שעור מס. 2 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 תפקיד המשתנים הצהרה על משתנה השמת ערך במשתנה int a, b, c; a = 1234; b = 99; c = a + b; משתנים מאפשרים לנו לשמור

More information

רשימות דילוגים Skip Lists

רשימות דילוגים Skip Lists Lecture6 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds רשימות דילוגים Skip Lists Skip lists: A probabilistic Alternative to Balanced Trees, William Pugh, Communications of the

More information

Tutorial 10. Introduction to C++ שימו

Tutorial 10. Introduction to C++ שימו Introduction to ++ שימו תרגול זה אינו התרגול הרישמי של הקורס. הוא מבוסס על חוברת התרגולים אך מכיל שינויים, הסברים נוספים ודוגמאות שונות או נוספות. + + תוכנ ית רא שונה ב הכרו ת עם + + תרגול // First ++

More information

מבוא למדעי המחשב תירגול 3:

מבוא למדעי המחשב תירגול 3: מבוא למדעי המחשב תירגול 3: לולאות, קלט, וטיפוסים תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char מבוא למדעי המחשב מ' - תירגול 3 2 לולאת while מבוא למדעי המחשב מ' - תירגול 3 3 לולאת while

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים

More information

מבוא לתכנות ב- JAVA מעבדה 4

מבוא לתכנות ב- JAVA מעבדה 4 מבוא לתכנות ב- JAVA מעבדה 4 מה בתרגול מערכים מחרוזות מערך חד מימדי מערך הוא מבנה המחזיק סדרה של איברים מאותו טיפוס גודל המערך הוא קבוע )נקבע בעת יצירת המערך( הגישה לכל איבר היא באמצעות אינדקס למה לי מערך?

More information

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** *******************************

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** ******************************* דוגמה 1: public class Hello { 2: public static void main(string[] args) { 3: System.out.println("*******************************"); 4: System.out.println("*******Welcome to Java!********"); 5: System.out.println("*******************************");

More information

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter.

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. Type Inference System The Type Inference System is a Scheme Implementation of the algorithm for Type Checking and Inference

More information

Lecture 16: Passing Parameters on the Stack. Push Examples. Pop Examples. CALL and RET

Lecture 16: Passing Parameters on the Stack. Push Examples. Pop Examples. CALL and RET Lecture 1: Passing Parameters on the Stack Push Examples Quick Stack Review Passing Parameters on the Stack Binary/ASCII conversion ;assume SP = 0202 mov ax, 124h push ax push 0af8h push 0eeeh EE 0E F8

More information

מבוא לתכנות ב- JAVA תרגול 6

מבוא לתכנות ב- JAVA תרגול 6 מבוא לתכנות ב- JAVA תרגול 6 מה בתרגול )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מבוא לפונקציות- שימוש חוזר בקוד נניח שבמהלך תוכנית נדרשתם לחשב את הסכום של המספרים

More information

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5 מבוא לתכנות ב- JAVA תרגול 5 Ipc161- practical session 5 מה בתרגול מערכים דו ממדיים )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מערך דו ממדי מערך של מערכים חד ממדיים

More information

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה רשימה מקושרת רשימה היא אוסף סדור של ערכים פעולות רשימה לעומת מערך קורס תכנות שיעור עשירי: מיונים, חיפושים, קצת ניתוח זמני ריצה, קצת תיקון טעויות ועוד על רשימות 3 5 7 9 typedef struct node int data; struct

More information

דף הדרכה ליצירת שרת/ לקוח עם GUI

דף הדרכה ליצירת שרת/ לקוח עם GUI דף הדרכה ליצירת שרת/ לקוח עם GUI בשיעורים הקודמים למדנו כיצד ליצור שרת לקוח פשוט, ויצירת טופס המכיל פקדים כלומר יצירת GUI למשתמש, בשיעור זה נרצה להראות את הדרך לשילוב בין השניים כלומר ליצור לקוח client

More information

2. (לדוגמא: יחידת הספריה (my_unit.c. #include "my_unit.c" היחידה (חלק ה-.(prototype לדוגמא:. my_unit.h הכותר. הוראת מדעי המחשב, אוניברסיטת תל-אביב

2. (לדוגמא: יחידת הספריה (my_unit.c. #include my_unit.c היחידה (חלק ה-.(prototype לדוגמא:. my_unit.h הכותר. הוראת מדעי המחשב, אוניברסיטת תל-אביב 3. יחידת ספריה ופרויקט C ב- יחידת הלימוד "עיצוב תוכנה" עוסקת בנושא הפיתוח והעיצוב של מערכות. חלק מעקרונות הפיתוח הם: תכנון מהפרט אל הכלל, חלוקה למודולים ועבודת צוותים על פי ממשקים ברורים. מערכת אחת יכולה

More information

A4 Sample Solution Ch3

A4 Sample Solution Ch3 A4 Sample Solution Ch3 2. AL, AH, BL, BH,CL,CH,DLl, DH 3. AX, BX, CX, DX, SP, BP, SI, DI, CS, DS, ES, SS, FS, GS 4. EAX, EBX, ECX, EDX, ESP, EBP, EDI, ESI 5. RAX, RBX, RCX, RDX, RSP, RBP, RSI, RDI and

More information

Section 1: C Programming Lab

Section 1: C Programming Lab Course Code : MCSL-017 Course Title : C and Assembly Language Programming (Lab Course) Assignment Number : MCA(1)/015/Assignment/17-18 Maximum Marks : 100 Weightage : 25% Last Dates for Submission : 15th

More information

טבלאות אם נרצה למקם תמונה ומלל זה ליד זה, או רצף של תמונות זו ליד זו כל פריט מיושר לכיוון אחר, נשתמש בטבלאות.

טבלאות אם נרצה למקם תמונה ומלל זה ליד זה, או רצף של תמונות זו ליד זו כל פריט מיושר לכיוון אחר, נשתמש בטבלאות. 1 טבלאות אם נרצה למקם תמונה ומלל זה ליד זה, או רצף של תמונות זו ליד זו כל פריט מיושר לכיוון אחר, נשתמש בטבלאות. - - - - - - - - - טבלה - - - - - - - - - שורה בטבלה Table Row -

More information

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication INTERNAL ASSESSMENT TEST 1 Date : 26/02/2018 Marks: 40 Subject

More information

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner Communication Networks (0368-3030) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 3.5.5, 3.7 (5 th ed.) Many slides adapted from: J. Kurose

More information

מבוא למדעי המחשב תרגול 10 הממשקים Iterator, Iterable Binary trees

מבוא למדעי המחשב תרגול 10 הממשקים Iterator, Iterable Binary trees מבוא למדעי המחשב 2017 תרגול 10 הממשקים Iterator, Iterable Binary trees בתרגול היום ממשקים: Iterator Filter DynamicArrayFilterIterator עצים בינאריים. תזכורת: Iterator מידע ונתונים )data( הדרושים לתכנית

More information

Assembler Programming. Lecture 10

Assembler Programming. Lecture 10 Assembler Programming Lecture 10 Lecture 10 Mixed language programming. C and Basic to MASM Interface. Mixed language programming Combine Basic, C, Pascal with assembler. Call MASM routines from HLL program.

More information

תרגול מספר 3: מערכים

תרגול מספר 3: מערכים היום בתרגול:.1.2 תרגול מספר 3: מערכים מערך חד-מימדי: מה זה מערך ולמה צריך אותו? איך מגדירים? איך זה נראה בזכרון? דוגמאות לשימוש במערך חד-מימדי השוואה בין משתנה פרימיטיבי למשתנה שאינו פרימיטיבי מערך דו-מימדי:

More information

תרגול 3 מערכים ופונקציות

תרגול 3 מערכים ופונקציות מבוא למדעי המחשב 2018 תרגול 3 מערכים ופונקציות מערכים מאפשרים עבודה עם מקבצים של נתונים פונקציות מאפשרות אבסטרקציה והאחדה של הקוד ראינו בהרצאה מערכים הצהרה, אתחול, גישה לאיברים במערך יצוג בזיכרון ובטבלת

More information

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 חברת הייטק בתרגיל זה נתרגל מספר נושאים אותם למדנו בשיעורים האחרונים: עיצוב ובניית מודל המורכב ממחלקות לתיאור סביבה

More information

COE 205 Lab Manual Experiment N o 12. Experiment N o Using the Mouse

COE 205 Lab Manual Experiment N o 12. Experiment N o Using the Mouse Experiment N o 12 12 Using the Mouse Introduction The mouse is an I/O device that replaces the arrow keys on the keyboard for graphical and text style programs. This experiment shows how to add the mouse

More information

מבוא לתכנות ב- JAVA מעבדה 3. Ipc161-lab3

מבוא לתכנות ב- JAVA מעבדה 3. Ipc161-lab3 מבוא לתכנות ב- JAVA מעבדה 3 Ipc161-lab3 נושאי התרגול ניפוי שגיאות לולאות בדיקת תרגילים בקורס )השוואת פלטים למול הפתרון המצופה( כיצד להפנות את פלט התוכנית לקובץ טקסט איך להשוות תכנים של שני קבצים בעזרת

More information

מבוא למדעי המחשב תרגול 5: לולאות ומערכים

מבוא למדעי המחשב תרגול 5: לולאות ומערכים מבוא למדעי המחשב תרגול 5: לולאות ומערכים תוכנייה לולאת while, do while, for מערכים מערכים דו ממדיים 2 לולאות 3 תזכורת: לולאת while גוף הלולאה מתבצע שוב ושוב כל עוד התנאי מתקיים int number; scanf( %d, &number);

More information

Week /8086 Microprocessor Programming II

Week /8086 Microprocessor Programming II Week 5 8088/8086 Microprocessor Programming II Quick Review Shift & Rotate C Target register or memory SHL/SAL 0 C SHR 0 SAR C Sign Bit 2 Examples Examples Ex. Ex. Ex. SHL dest, 1; SHL dest,cl; SHL dest,

More information

מבוא למדעי המחשב 2018 תרגול 7

מבוא למדעי המחשב 2018 תרגול 7 מבוא למדעי המחשב 2018 תרגול 7 רשימות משורשרות, רקורסיית זנב 1 ראינו בהרצאה רשימות משורשרות רקורסיית זנב 2 בתרגול היום רשימות משורשרות עוד שיטות מחלקה רקורסיית זנב היפוך מחרוזות, חיפוש בינארי 3 רשימות משורשרות

More information

Programs for Assembly Language Programming

Programs for Assembly Language Programming ;Program to print lower case alphabets.stack 100 mov dl, 'a' mov cl, 26 print: mov ah, 02h inc dl loop print mov ah, 4ch Programs for Assembly Language Programming ;Program to printf upper case alphabets.stack

More information

ASP.Net Web API.

ASP.Net Web API. ASP.Net Web API 1 מה זה? Web API View בלבד ולא Data אותו מממש השרת והוא מחזיר לקליינט API הוא Web API הבקשה והתשובה הן בפרוטוקול Http\Https הקליינטים של Web API יכולים להיות רבים : אפשר להשתמש גם בMVC

More information

more...3 less...3 prompt...3

more...3 less...3 prompt...3 עמוד 1 מתוך 24 ls...3 passwd...3 pwd...3 man...3 finger...3 cat...3 pico...3 rm...3 cp...3 mv...3 history...3 chmod...3 ln (hard link)...3 ln -s (soft link)...3 cal...3 find...3 wc...3 head...3 tail...3

More information

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים מבוא למדעי המחשב הרצאה 2: עצי חיפוש בינאריים תזכורת: עץבינארי בנוסףלרשימהמקושרת ומערך, הצגנומבנהנתונים קונקרטיחדש עץבינארי עץבינארימורכבמ: שורש תת-עץשמאלי תת-עץימני A B C D E F G 2 תזכורת: שורש ותתי-עצים

More information

EEM336 Microprocessors I. Data Movement Instructions

EEM336 Microprocessors I. Data Movement Instructions EEM336 Microprocessors I Data Movement Instructions Introduction This chapter concentrates on common data movement instructions. 2 Chapter Objectives Upon completion of this chapter, you will be able to:

More information

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון.

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון. מבוא לתכנות תוכנית ראשונה שעור מס. 1 דרור טובי דר' 1 מבוא לתכנות בשפת ++C C \ שלום!! מרצה ד"ר דרור טובי, drorto@ariel.ac.il שעות קבלה: יום ב, 10-12 טלפון )אריאל( 03 9076547 אתר הקורס: http://www.ariel.ac.il/cs/pf/tdror/courses/cpp

More information

תכנות מתקדם בשפת C משתנים

תכנות מתקדם בשפת C משתנים תכנות מתקדם בשפת C משתנים 1 משתנים סוגי משתנים בשפת C ההבדלים בין סוגי המשתנים השונים 2 /* This program computes m to the power of n */ /* Assumptions: m is an integer; n is a positive integer */ #include

More information